package com.xianniu.ltc.service;

import com.xianniu.ltc.model.po.*;
import com.xianniu.ltc.model.vo.RobotApprovalStepVO;
import com.xxl.sso.core.entity.ReturnT;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @author WangRuiJie
 * @Title: ExternalService
 * @Package com.xianniu.ltc.service
 * @Description: 外部接口
 * @date 2021/5/314:58 下午
 */
public interface ExternalService {

    ReturnT initUser(String loginName, String tenantCode);

    ReturnT addOrUpdateUserForAuth(TUserPo po);

    ReturnT updateLtcUser(UserUpdatePO po);

    ReturnT updateJFEnentStatus(ApiUpdateJFStatusPO po);

    ReturnT updateCGEnentStatus(ApiUpdateJFStatusPO po);

    ReturnT queryDeviceList(ApiQueryDevicePO po);

    ReturnT receivePmsYingJi(TYingjicaigoudingdanPO po);

    ReturnT receivePmsJiHua(TJihuacaigoudingdanshangpinPO po);

    ReturnT receivePmsWeiBao(TJihuacaigouxiangmuPO po);

    ReturnT receivePmsShouHou(TCaigoushouhoudingdanshangpinPO po);

    ReturnT receivePmsItemPayment(TXiangmuleifukuanPO po);

    ReturnT queryRbHeTong(QueryRbHeTongPO po);

    ReturnT createInquiryToLtc(TBaojiaxietongPO po);

    /**
     * 获取报价系统数据
     * @param po
     * @return
     */
    ReturnT updateQuotationToLtc(UpdateQuotePO po);

    /**
     * APP-查询企业下销售云用户
     * @param param
     * @return
     */
    ReturnT selectLtcUserList(String param);

    /**
     * 外部：定时新增项目报表数据
     * @param po
     * @return
     */
    ReturnT projectReportDayData(List<AddProjectReportPO> po);

    /**
     * 每天汇总钱删除历史LTC项目报表数据
     * @return
     */
    ReturnT delProjectReportDayData();

    /**
     * 新增/修改企业供应商信息
     * @param po
     * @return
     */
    ReturnT receiveSupplierInfo(List<AddSupplierPO> po);

    /**
     * 删除企业供应商信息
     * @param po
     * @return
     */
    ReturnT deleteSupplierInfo(List<DeleteSupplierPO> po);

    /**
     * 接收交付云首检设备明细接口
     * @param po
     * @return
     */
    ReturnT receiveTsEquipmentDetails(List<LtcInspectionPO> po);

    /**
     * 功能描述: APP新需求-查询消息/待办的审批
     *
     * @Param: [po]
     * @Return: com.xxl.sso.core.entity.ReturnT
     * @Author: wrj
     * @Date: 2022/4/21 5:15 下午
     */
    ReturnT apiApprovalList(ApprovalListQueryPO po);

    /**
     * 功能描述:APP新需求-查询抄送的审批
     *
     * @Param: [relatedRecords]
     * @Return: com.xxl.sso.core.entity.ReturnT
     * @Author: wrj
     * @Date: 2022/5/16 3:10 下午
     */
    ReturnT apiCcApprovalList(List<RobotApprovalStepVO> relatedRecords);

    /**
     * 功能描述: 接收采购云-采购订单数据
     *
     * @Param: [po]
     * @Return: com.xxl.sso.core.entity.ReturnT
     * @Author: wrj
     * @Date: 2022/5/5 3:55 下午
     */
    ReturnT receivePmsPurchaseOrder(PmsPurchaseOrderPO po);

    /**
     * 功能描述:修改采购云的采购订单状态
     *
     * @Param: [po]
     * @Return: com.xxl.sso.core.entity.ReturnT
     * @Author: wrj
     * @Date: 2022/5/5 4:08 下午
     */
    ReturnT updatePmsPurchaseOrder(PmsUpdatePurchaseOrderPO po);
}
